﻿///<reference path="jquery.vsdoc.js">

var j = jQuery.noConflict();
var masterId = "#cphMasterPrincipal_";
/*
* Autor.......: Regiane Melo
* Descrição...: Configura o chaveamento da cor durante o 
*								foco nos campos de entrada de dados.
* Data........: 14/09/2010
*/
function ConfigurarFocoInput() {
    //j("input, textarea, select").focus(function () {
    j("input, textarea").focus(function () {
        j(this).addClass("focus");
    });

    //j("input, textarea, select").blur(function () {
    j("input, textarea").blur(function () {
        j(this).removeClass('focus');
    });
}
/*
* Autor.......: Otaviano Montes Zibetti
* Descrição...: Configura um campo de data com e 
*								seu respectivo calendário.
* Data........: 14/09/2010
* Ex..........: ConfigurarHoverCalendario();
*				ConfigurarCalendario("txtDataNascimento");
*/
function ConfigurarCalendario(txtId) {
    txtId = masterId + txtId;

    j(txtId).mask("99/99/9999");

    j(txtId).datepicker(
	{
	    showOn: 'button',
	    buttonImageOnly: true,
	    changeMonth: true,
	    changeYear: true
	});
}
/*
* Autor.......: Regiane Melo
* Descrição...: Configura o hover da imagem do calendario.
* Data........: 14/09/2010
*/
function ConfigurarHoverCalendario() {
    j(".ui-datepicker-trigger").mouseover(function () {
        j(this).addClass("ui-datepicker-trigger-hover");
    }).mouseout(function () {
        j(this).removeClass("ui-datepicker-trigger-hover");
    });
}
/*
* Autor.......: Otaviano Montes Zibetti
* Descrição...: Configura um campo de RG.
* Data........: 14/09/2010
*	ConfigurarRG("txtRg");
*/
function ConfigurarRG(txtId) {
    txtId = masterId + txtId;
    j(txtId).mask("9.999.999-9");
}
/*
* Autor.......: Otaviano Montes Zibetti
* Descrição...: Configura um campo de CEP.
* Data........: 14/09/2010
*	Ex..........: ConfigurarCEP("txtCep");
*/
function ConfigurarCEP(txtId) {
    txtId = masterId + txtId;
    j(txtId).mask("99.999-999");
}
/*
* Autor.......: Otaviano Montes Zibetti
* Descrição...: Configura um campo de CPF.
* Data........: 14/09/2010
*	Ex..........: ConfigurarCPF("txtCpf");
*/
function ConfigurarCPF(txtId) {
    txtId = masterId + txtId;

    j(txtId).mask("999.999.999-99");
}

function ConfigurarCNPJ(txtId) {
    txtId = masterId + txtId;

    j(txtId).mask("99.999.999/9999-99");
}

function ConfigurarCNPJPage(txtId) {

    j(txtId).mask("99.999.999/9999-99");
}

/*
* Autor.......: 
* Descrição...: Abrir Popup.
* Data........: 01/05/20101
*	Ex..........: AbrirPopup('Default.aspx',400,300);
*/
function AbrirPopup(pagina, largura, altura) {
    var pag = pagina;
    var ww = largura;
    var wh = altura;
    var sw = screen.availWidth;
    var sh = screen.availHeight;
    windowprops = "alwaysRaised,toolbar=no, menubar=no, status=yes, scrollbars=yes, resizable=yes, titlebar=1 ,width=" + ww + ",height=" + wh + ",left=" + ((sw - ww) / 2) + ",top=" + ((sh - wh) / 2) + "";
    janela = window.open(pagina, "_blank", windowprops);
    janela.name = "popup";
}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: Confiura um campo para receber apenas valores numéricos.
* Data........: 14/06/2011
*	Ex..........: ConfigurarInteiro("txtAno");
*/
function ConfigurarInteiro(txtId) {
    txtId = masterId + txtId;
    j(txtId).mask("?99999", { placeholder: "" });
}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: Confiura um campo para receber apenas valores Monetários.
* Data........: 14/06/2011
*	Ex..........: ConfigurarInteiro("txtValor");
*/
function ConfigurarValorMonetario(txtId) {
    txtId = masterId + txtId;
    j(txtId).maskMoney({ placeholder: "", allowZero: true, thousands: '.', decimal: ',' });
    /* j(txtId).focus(function () {
    j(txtId).val("");
    });*/
}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: configura o valor para realizar calculo com valores(float).
* Data........: 14/06/2011
*	Ex..........: ConfigurarInteiro(valor);
*/
function ConfigurarValorFloat(valor) {
    if (valor == "")
        valor = "0";
    valor = valor.replace(/[.]+/g, "");
    valor = valor.replace(",", ".");
    return parseFloat(valor);
}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: Realiza a multiplicação dos campos Quantidade e Valor.
* Data........: 14/06/2011
*	Ex..........: ConfigurarInteiro(valor);
*/
function MultiplicarQuantidadeValor(txtResultado, txtQuantidade, txtValor) {
    isNaN(j(txtQuantidade).val()) ? j(txtQuantidade).val("0") : j(txtQuantidade).val();
    isNaN(j(txtValor).val()) ? j(txtValor).val() : j(txtValor).val("0");
    if (j(txtValor).val() != "" && j(txtQuantidade).val() != "") {
        j(txtResultado).val(ConfigurarMaskMoney(parseInt(j(txtQuantidade).val()) * ConfigurarValorFloat(j(txtValor).val())));
        j(txtResultado).html(ConfigurarMaskMoney(parseInt(j(txtQuantidade).val()) * ConfigurarValorFloat(j(txtValor).val())));
    }

}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: Realiza a multiplicação dos campos Quantidade e Valor.
* Data........: 14/06/2011
*	Ex..........: ConfigurarInteiro(valor);
*/
function SubtrairInteiro(txtResultado, txtQuantidade, txtQuantidadeExecutado) {
    var quantidade;
    isNaN(j(txtQuantidade).html()) ? quantidade = j(txtQuantidade).html("0") : quantidade = j(txtQuantidade).html();
    !isNaN(j(txtQuantidadeExecutado).val()) ? j(txtQuantidadeExecutado).val() : j(txtQuantidadeExecutado).val("0");

    if (j(txtQuantidade).html() == "") {
        isNaN(j(txtQuantidade).val()) ? quantidade = j(txtQuantidade).val("0") : quantidade = j(txtQuantidade).val();
        quantidade = j(txtQuantidade).html();
        j(txtResultado).html(parseInt(j(txtQuantidade).val()) - parseInt(j(txtQuantidadeExecutado).val()));
    }
    else {
        quantidade = j(txtQuantidade).html();
        j(txtResultado).html(parseInt(j(txtQuantidade).html()) - parseInt(j(txtQuantidadeExecutado).val()));
    }

    
    //if (j(txtQuantidadeExecutado).val() != "" || j(txtQuantidade).val() != "")
        
}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: Realiza a multiplicação dos campos Quantidade e Valor.
* Data........: 14/06/2011
*	Ex..........: ConfigurarInteiro(valor);
*/
function SubtrairValorMonetario(txtResultado, txtValor, txtValorExecutado) {
    isNaN(j(txtValor).html()) ? j(txtValor).html() : j(txtValor).html("0");
    isNaN(j(txtValorExecutado).html()) ? j(txtValorExecutado).html() : j(txtValorExecutado).html("0");
    //alert(j(txtValorExecutado).val());
    //alert(j(txtValor).val());
    if (j(txtValorExecutado).html() != "" || j(txtValor).html() != "") {
        //j(txtResultado).val(ConfigurarMaskMoney(ConfigurarValorFloat(j(txtValor).val()) - ConfigurarValorFloat(j(txtValorExecutado).val())));
        j(txtResultado).html(ConfigurarMaskMoney(ConfigurarValorFloat(j(txtValor).html()) - ConfigurarValorFloat(j(txtValorExecutado).html())));
    }
}

/*
* Autor.......: Filipe Rocha.
* Descrição...: configura um campo para receber mascara em formator monetário.
* Data........: 14/06/2011
*	Ex..........: ConfiguraMaskMoney(valor);
*/
function ConfigurarMaskMoney(num) {
    x = 0;
    if (num < 0) {
        num = Math.abs(num);
        x = 1;
    }
    if (isNaN(num)) num = '0';
    cents = Math.floor((num * 100 + 0.5) % 100);
    num = Math.floor((num * 100 + 0.5) / 100).toString();
    if (cents < 10) cents = '0' + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + '.'
                + num.substring(num.length - (4 * i + 3));
    ret = num + ',' + cents;
    if (x == 1) ret = ' – ' + ret;
    return ret;
}

/*
* Autor.......: Alonso A.A. Oliveira.
* Descrição...: Desabilita um campo.
* Data........: 14/06/2011
*	Ex..........: ConfiguraMaskMoney(valor);
*/
function DesabilitarCampo(txtId) {
    txtId = masterId + txtId;
    j(txtId).attr("disabled", true);
}

function desformatarMoney(num) {

    if (num != "") {

        num = num.replace(/[.]+/g, "");
        num = num.replace(",", ".");
    }

    return parseFloat(num);
}


function formatarMoney(num) {
    x = 0;
    if (num < 0) {
        num = Math.abs(num);
        x = 1;
    }
    if (isNaN(num)) num = '0';
    cents = Math.floor((num * 100 + 0.5) % 100);
    num = Math.floor((num * 100 + 0.5) / 100).toString();
    if (cents < 10) cents = '0' + cents;
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
        num = num.substring(0, num.length - (4 * i + 3)) + '.'
                + num.substring(num.length - (4 * i + 3));
    ret = num + ',' + cents;
    if (x == 1) ret = '-' + ret;
    return ret;
}


function validaData(nomeCampo) {
    
    var campo = j(vMaster + nomeCampo);
    var aux = j(vMaster + nomeCampo).val();

    //alert(aux.length);

    if (aux.length < 10 && aux.length > 0) {
        splitString = aux.split('/');
        zero = new String("0")
        if ((splitString[0].length < 2) || (splitString[1].length < 2)) {
            if (splitString[0].length < 2) {
                splitString[0] = zero.concat(splitString[0]);
            }
            if (splitString[1].length < 2) {
                splitString[1] = zero.concat(splitString[1]);
            }
            campo.value = splitString[0] + '/' + splitString[1] + '/' + splitString[2];
        }
        else {
            alert('Data incorreta dd/mm/aaaa!');
            // campo.focus();
        }
    }
    else if (aux.length == 10 && aux != "__/__/____") {
        reDate = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19[0-9]|20[0-6])?\d{1}$/;

        if (!reDate.test(aux)) {
            alert('Data \351 inv\341lida!');
            j(vMaster + nomeCampo).val("");
            j(vMaster + nomeCampo).focus();
        }
    }
}

//Tooltip do gridview.
function InitializeToolTip() {
    j(".gridViewToolTip").tooltip({
        track: true,
        delay: 0,
        showURL: false,
        fade: 0,
        bodyHandler: function () {
            return j(j(this).next().html());
        },
        showURL: false
    });
}


function ConfigurarMascaraSEI(txtId, master) {
    if (master == null) {
        txtId = masterId + txtId;
    }
    j(txtId).focusout(function () {
        var numero, element;
        element = j(this);
        element.unmask();
        numero = element.val().replace(/\D/g, '');
        if (numero.length > 13 && numero.length < 20) {
            element.val("");
            element.mask("99.9.999999999-9?9.99.9999", { placeholder: "" });
        }
        else if (numero.length > 13) {
            //alert("a");
            element.val(element.val().replace(/[-]+/g, ""));
            element.val(element.val().replace(/[.]+/g, ""));
            element.mask("9999999-99.9999.?9.99.9999", { placeholder: "" });

        } else {
            element.val(element.val().replace(/[-]+/g, ""));
            element.val(element.val().replace(/[.]+/g, ""));
            element.mask("99.9.999999999-9?9.99.9999", { placeholder: "" });
        }
    }).trigger('focusout');
}

function ConfigurarMascaraCPFCNPJ(txtId, master) {
    if (master == null) {
        txtId = masterId + txtId;
    }
    //000.000.000-00 - 14
    //00.000.000/0000-00 - 18
    j(txtId).focusout(function () {
        var numero, element;
        element = j(this);
        element.unmask();
        numero = element.val().replace(/\D/g, '');
        if (numero.length > 11 && numero.length < 14) {
            element.val("");
            element.mask("999.999.999-99?9-99", { placeholder: "" });
        }
        else if (numero.length > 11) {
            //alert("a");
            element.val(element.val().replace(/[-]+/g, ""));
            element.val(element.val().replace(/[.]+/g, ""));
            element.mask("99.999.999/999?9-99", { placeholder: "" });

        } else {
            element.val(element.val().replace(/[-]+/g, ""));
            element.val(element.val().replace(/[.]+/g, ""));
            element.mask("999.999.999-99?9-99", { placeholder: "" });
        }
    }).trigger('focusout');
}

/* BLOQUEAR PAGINA*/
function avisoAguarde() {
        if (document.getElementById('divProcessando')) {
            document.getElementById('divProcessando').style.display = '';
            document.getElementById('divProcessando').innerHTML = "Aguarde....";
            document.getElementById('divProcessando').setAttribute("class", "carregando");
            //alert("Passou2");
            return;
        }
        var oDiv = document.createElement("div");
        with (oDiv) { id = "divProcessando"; }
        document.body.appendChild(oDiv);
        //alert("Passou");
        document.getElementById('divProcessando').innerHTML = "Aguarde....";
        document.getElementById('divProcessando').setAttribute("class", "carregando");
}
/* BLOQUEAR PAGINA*/
